package main

import (
	"fmt"
	//"math"
)

//申明一个函数类型
type cb func(int) int

func main() {
	/*
			申明函数变量
		getSquareRoot := func(x float64) float64 {
			return math.Sqrt(x)
		}
		fmt.Println(getSquareRoot(1000000))
	*/

	testCallBack(1, callBack)
	testCallBack(2, func(x int) int {
		fmt.Println("我是回调，x: %d", x)
		return x
	})
}

/*
函数作为参数传递，实现回调

*/

func testCallBack(x int, f cb) {
	f(x)
}

func callBack(x int) int {
	fmt.Println("我是回调，x: %d", x)
	return x
}
